1. Field of the Invention
The present invention generally relates to data processing and more particularly to modeling a physical representation of data in a database.
2. Description of the Related Art
Databases are computerized information storage and retrieval systems. A relational database management system is a computer database management system (DBMS) that uses relational techniques for storing and retrieving data. The most prevalent type of database is the relational database, a tabular database in which data is defined so that it can be reorganized and accessed in a number of different ways. A distributed database is one that can be dispersed or replicated among different points in a network. An object-oriented programming database is one that is congruent with the data defined in object classes and subclasses.
Regardless of the particular architecture, in a DBMS, a requesting entity (e.g., an application or the operating system) demands access to a specified database by issuing a database access request. Such requests may include, for instance, simple catalog lookup requests or transactions and combinations of transactions that operate to read, change and add specified records in the database. These requests are made using high-level query languages such as the Structured Query Language (SQL) in the case of a relational database. Illustratively, SQL is used to make interactive queries for getting information from and updating a database such as International Business Machines' (IBM) DB2, Microsoft's SQL Server, and database products from Oracle, Sybase, and Computer Associates. The term “query” denominates a set of commands for retrieving data from a stored database. Queries take the form of a command language that lets programmers and programs select, insert, update, find out the location of data in a database, and so forth.
In commonly assigned U.S. patent application Ser. No. 10/083,075 (the '075 application), filed Feb. 22, 2002 entitled “Improved Application Flexibility Through Database Schema and Query Abstraction”, a framework was disclosed for logically viewing physical data. The framework of the '075 application provided a requesting entity (i.e., an end-user or application) with an abstract representation of physical data. In this way, the requesting entity is decoupled from the underlying physical data to be accessed. Logical queries based on the framework can be constructed without regard for the makeup of the physical data. Further, changes to the physical data do not necessitate changes to applications accessing the physical data.
One difficulty when dealing with an abstract view of data is properly tuning the underlying data storage for optimal performance or size. Initially, it may be thought that existing data modeling tools may be used to advantage in this regard. Data modeling tools for the creation and maintenance of databases are well known. Generally, data modeling tools usually present the user with a graphical user interface that allows database designers to model entities, relationships between these entities, constraints like participation constraints, cardinality of relationships and other aspects such as weak entities, key attributes, composite attributes, identifying relationships, etc. However, while existing data modeling tools can help to build a database and can give suggestions for how to change a corresponding physical data storage model based on particular queries, they are not suitable for properly tuning the physical data storage where the physical data is abstractly presented/modeled.
Therefore, there is a need for an improved and more flexible method for modeling physical data in a database in which the data is viewed abstractly.